
#include "AudioUtils.h"
#include "SB.h"
#include "ProgressManager.h"

extern "C" void _preloadMusic(const char* _file);
extern "C" void _unloadMusic(const char* _file);
extern "C" void _playMusic(const char* _file, bool _loop);
extern "C" void _stopMusic(const char* _file);
extern "C" void _setMusicVolume(const char* _file, float _volume);
extern "C" void _setMusicLoop(const char* _file, bool _loop);
extern "C" void _setGeneralMusicVolume(float _volume);

extern "C" void _preloadSfx(const char* _file);
extern "C" void _unloadSfx(const char* _file);
extern "C" void _playSfx(const char* _file);

void AudioUtils::preloadMusic(const char* _file)
{
    _preloadMusic(_file);
//    _setMusicVolume(_file, SB::volumeMusic);
}

void AudioUtils::unloadMusic(const char* _file)
{
    _unloadMusic(_file);
}

void AudioUtils::playMusic(const char* _file, bool _loop)
{
    _playMusic(_file, _loop);
//    _setMusicVolume(_file, SB::volumeMusic);
}

void AudioUtils::stopMusic(const char* _file)
{
    _stopMusic(_file);
}

void AudioUtils::setMusicVolume(const char* _file, float _volume)
{
    _setMusicVolume(_file, _volume);
}

void AudioUtils::setMusicLoop(const char* _file, bool _loop)
{
    _setMusicLoop(_file, _loop);
}

void AudioUtils::setGeneralMusicVolume(float _fVolume)
{
    _setGeneralMusicVolume(_fVolume);
}


void AudioUtils::preloadSfx(const char* _file)
{
    _preloadSfx(_file);
}

void AudioUtils::unloadSfx(const char* _file)
{
    _unloadSfx(_file);
}

void AudioUtils::playSfx(const char* _file)
{
    if(ProgressManager::instance().getSavedData().bSfx)
        _playSfx(_file);
}
